# 算数运算
'''
print(5 + 3)
print(10 / 3)
print(2 * 4)
print(10 - 5)
print(10 ** 2)  # 次方
print(10 // 3)  # 整除
print(10 % 3) # 取余
'''

# 比较运算
# 经常在判断中使用
# None False 0 "" [] {} set() ()
'''
print( 5 > 3 )
print( 5 >= 3 )
print( 5 < 3 )
print( 5 <= 3 )
print( 5 != 3 )
print( 5 == 3 )
result = input('请输入你的账号：')
if result == "123456":
    print('账号登录成功')

# 判断值是否为假
a = None
if a:
    print(True)
else:
    print(False)

'''

# 赋值运算
'''
a = 0
a += 10  # a = a + 10
a -= 5   # a = a - 5  # 10
a *= 5
a /= 5
a %= 5
a **= 5
print(a)
'''

# 与运算
'''
# not 取反
a = 10  # 真
b = 0   # 假
if not (a and b):
    print(True)
else:
    print(False)
# 或运算
if a or b:
    print(True)
else:
    print(False)
'''

# 成员运算
'''
# in  # not in 
str = "hello world"
print("h" in str)
print("h" not in str)
'''

# if 判断
'''
# match 3.10 if
r = input("请输入邮箱账号: ")
# 字符串 endswitch 判断字符串的结尾部分是否符合xxxx
if r.endswith("@163.com"):
    print('当前登录邮箱为网易163邮箱')
    smtp_url="https://mail.163.com"
elif r.endswith("@qq.com"):
    print('当前登录邮箱为qq邮箱')
    smtp_url="https://mail.qq.com"
elif r.endswith("@126.com"):
    print('当前登录邮箱为126邮箱')
    smtp_url="https://mail.126.com"
else:
    print('该邮箱不被支持')

username, password = input('请输入账号：'),input('请输入密码：')
if username == "zhangsan":
    if password == "123456":
        print('登录成功')
    else:
        print('登录失败')
else:
    print('账号不存在')

'''

# for 循环
# 将50个商品全部打包
'''
# for循环，处理可迭代对象 range(开始位置默认为0,结束位置必须填写,步长)
for i in range(1,11): # [0,1,2...,99]
    # if i == 7:
        # continue # 跳过单次循环
        # break # 跳出循环
    print(f"我正在吃第{i}个包子")
# 语法糖
else: # 在循环正常结束时执行
    print('我吃饱喝足了')
'''

# while 循环
'''
# 如果状态满足，则一直去做
a = 0
while a < 10:
    print(a)
    a += 1 # a = a + 1
    # break continue
else:
    print('程序结束')
'''

'''
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# Filename : test.py
# author by : www.1000phone.com
 
# 获取用户输入十进制数
dec = int(input("输入数字："))
 
print("十进制数为：", dec)
print("转换为二进制为 ：", bin(dec))
print("转换为八进制为：", oct(dec))
print("转换为十六进制为：", hex(dec))

'''

# python 中的数据类型
'''
         1、是否可变  2、是否有序  3、是否可迭代  4、是否可重复
数值         否         否          否            否
字符串       否         是          是            是
列表         是         是          是            是
元组
集合
字典
'''

# 数值类型
'''
a = 1   # 整形
b = 1.0 # 浮点型
print(type(a),type(b))

n1 = 0b11011 # 二进制数
n2 = 0o75421 # 八进制数
n3 = 0xaf690 # 十六进制
print(oct(n1))  # 转换为8进制
print(bin(n3))  # 转换为2进制
print(hex(n2))  # 转换为16进制

a = "10"
# print(int(a)) # 将浮点数或字符串中时数字的数据转换为整型
# print(float(a))

n4 = -10
print(abs(n4))

n5 = 4.6
print(round(n5))

'''
'''
# 模块导入
import random
name = random.choice(["张三","李四","王五","赵六"])
print(name)
number = random.randrange(100000,999999)
print(number)
number2 = random.random()
print(number2)
n = [1,2,3,4,5]
random.shuffle(n) # 不需要将返回赋值，shuffle直接在元数据上进行修改
print(n)
'''
'''
# 字符串类型

# 索引切片 [start, stop, step]
str1 = "曾经沧海难为水， 除却巫山不是云"
#       0 1 2 3 4  # 从左往右
#                              -3 -2 -1  # 从右往左
print(str1[0:7])  # 曾经沧海难为水
print(str1[-7:])  # 除却巫山不是云
print(str1[0:10:2]) # 步长
print(str1[::-1]) # 将字符串反转
'''

'''
# 进度条
import time
for i in range(1,101):
    print(f'\r[{i}%]{"#" * i}' , end='')
    time.sleep(1)
'''

'''
str2 = r"a\nb" # 原始字符串
print(str2)
'''

'''
# 1、f字符串
name="小明"
print(f"我叫{name}")
print("我叫{}".format(name))
print("我叫%s" %(name))
'''

'''
近期，“罐车卸完煤制油直接装运食用油”的消息引爆了全网针对食用油运输情况的担忧。

据媒体报道，两辆刚卸完煤制油的罐车，在并未洗罐的情况下，顺利装上了食用油，涉及的食用油企业分别是汇福粮油集团和中储粮油脂（天津）有限公司。

7月9日，有视频博主根据此前媒体抓拍到的涉事罐车的车牌号，追踪其行车轨迹后发现，6月1日，涉事车辆在中纺粮油(东莞)有限公司装车，之后一路向北，6月4日在陕西咸阳咸兴路的金龙鱼工厂卸货。

9日晚，金龙鱼官网就“油罐车事件”发布声明称，该集团组织了全面自查。自查结果显示，集团各企业在散装食用油安全运输中充分履行了监管责任，运输车辆都进行了严格的查验、检验手续。
'''
'''
print(str2.count("油")) # 查询某个字符出现的次数
binary = str2.encode()
print(binary)
print(binary.decode())
print(str2.endswith("检验手续。"))
print(str2.find('a'))
# 判断字符串中是否是数字
'''

'''
n = input('请输入分数：')  # 以字符串的类型接受所有数据
if not n.isdigit(): # 判断字符串内部是否都是数字
    exit()
n = int(n)
if n < 60:
    print('不及格')
else:
    print('及格')

'''
'''

# 判断是否是数字字符
print("Ⅰ".isnumeric())

# 分割字符串
# str3 = "我，很，想，念，你"
# print(str3.split("，"))
# ['我', '很', '想', '念', '你']

# 拼接字符串
# str4 = ['我', '很', '想', '念', '你']
# print("，".join(str4))
# 我，很，想，念，你

# 创建字符映射表
a = '我你爸妈去的'
b = len(a) * "*"
table = "".maketrans(a,b)

r = input('队友>>>：')
print(r.translate(table))

# 删除左右两边的指定字符
print("@@你好@@@".strip("@"))

'''
'''
# python中的列表
a = [0,1,2,3,4,5]
# 迭代
# for i in a:
#     print(i)
# 列表操作
# print(a * 2)
# print([1,2,3] + [4,5,6])
# 列表当中的方法
list1 = ["a","11",55, 15, "w","hello", "w", [0,1,2]] # 将这个列表中所有的数值类型取出，包括为数值的字符串
new_list = []
for i in list1:
    if str(i).isdigit():
        new_list.append(i)
print(new_list)
# 判断w在列表中出现的次数
print(list1.count("w"))
# 判断"hello"第一次出现的位置
print(list1.index("hello"))
# 将world插入到列表的第二个位置
list1.insert(1,"world")
print(list1)
# 删除列表中的第一个w
list1.remove("w")
print(list1)
# 反转列表的元素
list2 = [1,2,3,4]
# 1 修改并复制给新的变量
list2 = list2[::-1]
# 2 直接修改原始列表
list2 = [1,2,3,4]
list2.reverse()
print(list2)
# 对列表进行排序
# list3 = [6,3,2,4,5]
list3 = ["我","爱","你"]
list3.sort()
print(list3)

# 查看所有的中文文字
for i in range(0x4e00, 0x9fa6):
    print(chr(i),end=" ")

# 列表生成式
list4 = [i*5 for i in range(1,10001,2)]
print(list4)
'''
# 作业
# 把今天讲到的数据类型中的方法进行练习
# python 打印99乘法表 #
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j} * {i} = {j * i}", end="\t")
    print()
